package model;

/**
 * Enhedsalg er erklæret abstrakt, idet der ikke skal oprettes objekter af denne klasse
 * @author Jeppe
 */
public abstract class EnhedsSalg {
    
    protected int salgsPris;
    protected boolean valutaDKK;
    protected int rabat;
      

    public EnhedsSalg(int salgsPris, int rabat) {
        this.salgsPris = salgsPris;
        valutaDKK = true;
        this.rabat = rabat;
    }

    public EnhedsSalg(int salgsPris, boolean valutaDKK, int rabat) {
        this.salgsPris = salgsPris;
        this.valutaDKK = valutaDKK;
        this.rabat = rabat;
    }
    
    
    public int getSalgspris() {
        return salgsPris;
    }
    
    public boolean getValutaDKK() {
        return valutaDKK;
    }
    
    public void setValutaDKK(boolean valutaDKK) {
        this.valutaDKK = valutaDKK;       
    }
    
    public int getRabat() {
        return rabat;
    }

    public void setRabat(int rabat) {
        this.rabat = rabat;
    }  
    
    /**
     * Benyttes til at få den nye salgspris når der er afgivet en rabat på et enhedssalg. 
     * I de enhedssalgsklasser hvori der indgår et antal skal den overskrives.
     * @return 
     */
     public int getSalgsprisMedRabat() {
        int result;
        result = salgsPris - (salgsPris / 100 * rabat);
        return result;
    }
    
}
